﻿using System;
using HK.Core.GUIEx.Usage;
using HK.Core.Serializable.Protocol.Usage;

namespace HK.Core.Serializable.Usage
{
    
    /// <summary>
    /// Usage - 列表Element
    /// </summary>
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
    public class ListElementAttribute : GUIUsageAttribute, IListElementAttribute
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="iCaption">标题</param>
        /// <param name="iPropertyKey">Property Key</param>
        public ListElementAttribute(string iCaption, string iPropertyKey) : 
            base(iCaption, null, null, iPropertyKey) { }
        
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="iCaption">标题</param>
        /// <param name="iPropertyKey">Property Key</param>
        /// <param name="iTips">描述</param>
        public ListElementAttribute(string iCaption, string iPropertyKey, string iTips) : 
            base(iCaption, null, iTips, iPropertyKey) { }
        
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="iCaption">标题</param>
        /// <param name="iIcon">Icon</param>
        /// <param name="iPropertyKey">Property Key</param>
        /// <param name="iTips">描述</param>
        public ListElementAttribute(string iCaption, string iIcon, string iPropertyKey, string iTips) : 
            base(iCaption, iIcon, iTips, iPropertyKey) { }
    }
    
}